package org.summerframework.component.quartz.annotation;

import org.summerframework.component.quartz.QuartzStateEnum;
import org.quartz.Trigger;

import java.lang.annotation.*;

/**
 * @author 石超
 * @version v1.0.0
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface QuartzJob {
    /**
     * 定义定时器触发时间
     */
    String cron();

    boolean concurrent() default false;

    String group() default "DEFAULT";

    int misfireInstruction() default Trigger.MISFIRE_INSTRUCTION_SMART_POLICY;

    QuartzStateEnum state() default QuartzStateEnum.NORMAL;

    String scheduler() default "";
}
